/*
 * Copyright (c) 2020 Mike Penz
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.mikepenz.iconics.typeface.library.materialdesigniconic

import com.mikepenz.iconics.typeface.IIcon
import com.mikepenz.iconics.typeface.ITypeface
import java.util.LinkedList

@Suppress("EnumEntryName")
object MaterialDesignIconic : ITypeface {

    override val fontRes: Int
        get() = R.font.material_design_iconic_font_v2_2_0

    override val characters: Map<String, Char> by lazy {
        Icon.values().associate { it.name to it.character }
    }

    override val mappingPrefix: String
        get() = "gmi"

    override val fontName: String
        get() = "Material Design Iconic"

    override val version: String
        get() = "2.2.0"

    override val iconCount: Int
        get() = characters.size

    override val icons: List<String>
        get() = characters.keys.toCollection(LinkedList())

    override val author: String
        get() = "Google. TTF created by Sergey Kupletsky"

    override val url: String
        get() = "http://zavoloklom.github.io/material-design-iconic-font/"

    override val description: String
        get() = "Material Design Iconic Font is a full suite of material design icons (created " +
                "and maintained by Google) for easy scalable vector graphics on websites."

    override val license: String
        get() = "SIL OFL 1.1"

    override val licenseUrl: String
        get() = "http://scripts.sil.org/OFL"

    override fun getIcon(key: String): IIcon = Icon.valueOf(key)

    enum class Icon constructor(override val character: Char) : IIcon {
        //Google material design
        gmi_3d_rotation('\uf101'),
        gmi_airplane_off('\uf102'),
        gmi_airplane('\uf103'),
        gmi_album('\uf104'),
        gmi_archive('\uf105'),
        gmi_assignment_account('\uf106'),
        gmi_assignment_alert('\uf107'),
        gmi_assignment_check('\uf108'),
        gmi_assignment_o('\uf109'),
        gmi_assignment_return('\uf10a'),
        gmi_assignment_returned('\uf10b'),
        gmi_assignment('\uf10c'),
        gmi_attachment_alt('\uf10d'),
        gmi_attachment('\uf10e'),
        gmi_audio('\uf10f'),
        gmi_badge_check('\uf110'),
        gmi_balance_wallet('\uf111'),
        gmi_balance('\uf112'),
        gmi_battery_alert('\uf113'),
        gmi_battery_flash('\uf114'),
        gmi_battery_unknown('\uf115'),
        gmi_battery('\uf116'),
        gmi_bike('\uf117'),
        gmi_block_alt('\uf118'),
        gmi_block('\uf119'),
        gmi_boat('\uf11a'),
        gmi_book_image('\uf11b'),
        gmi_book('\uf11c'),
        gmi_bookmark_outline('\uf11d'),
        gmi_bookmark('\uf11e'),
        gmi_brush('\uf11f'),
        gmi_bug('\uf120'),
        gmi_bus('\uf121'),
        gmi_cake('\uf122'),
        gmi_car_taxi('\uf123'),
        gmi_car_wash('\uf124'),
        gmi_car('\uf125'),
        gmi_card_giftcard('\uf126'),
        gmi_card_membership('\uf127'),
        gmi_card_travel('\uf128'),
        gmi_card('\uf129'),
        gmi_case_check('\uf12a'),
        gmi_case_download('\uf12b'),
        gmi_case_play('\uf12c'),
        gmi_case('\uf12d'),
        gmi_cast_connected('\uf12e'),
        gmi_cast('\uf12f'),
        gmi_chart_donut('\uf130'),
        gmi_chart('\uf131'),
        gmi_city_alt('\uf132'),
        gmi_city('\uf133'),
        gmi_close_circle_o('\uf134'),
        gmi_close_circle('\uf135'),
        gmi_close('\uf136'),
        gmi_cocktail('\uf137'),
        gmi_code_setting('\uf138'),
        gmi_code_smartphone('\uf139'),
        gmi_code('\uf13a'),
        gmi_coffee('\uf13b'),
        gmi_collection_bookmark('\uf13c'),
        gmi_collection_case_play('\uf13d'),
        gmi_collection_folder_image('\uf13e'),
        gmi_collection_image_o('\uf13f'),
        gmi_collection_image('\uf140'),
        gmi_collection_item_1('\uf141'),
        gmi_collection_item_2('\uf142'),
        gmi_collection_item_3('\uf143'),
        gmi_collection_item_4('\uf144'),
        gmi_collection_item_5('\uf145'),
        gmi_collection_item_6('\uf146'),
        gmi_collection_item_7('\uf147'),
        gmi_collection_item_8('\uf148'),
        gmi_collection_item_9_plus('\uf149'),
        gmi_collection_item_9('\uf14a'),
        gmi_collection_item('\uf14b'),
        gmi_collection_music('\uf14c'),
        gmi_collection_pdf('\uf14d'),
        gmi_collection_plus('\uf14e'),
        gmi_collection_speaker('\uf14f'),
        gmi_collection_text('\uf150'),
        gmi_collection_video('\uf151'),
        gmi_compass('\uf152'),
        gmi_cutlery('\uf153'),
        gmi_delete('\uf154'),
        gmi_dialpad('\uf155'),
        gmi_dns('\uf156'),
        gmi_drink('\uf157'),
        gmi_edit('\uf158'),
        gmi_email_open('\uf159'),
        gmi_email('\uf15a'),
        gmi_eye_off('\uf15b'),
        gmi_eye('\uf15c'),
        gmi_eyedropper('\uf15d'),
        gmi_favorite_outline('\uf15e'),
        gmi_favorite('\uf15f'),
        gmi_filter_list('\uf160'),
        gmi_fire('\uf161'),
        gmi_flag('\uf162'),
        gmi_flare('\uf163'),
        gmi_flash_auto('\uf164'),
        gmi_flash_off('\uf165'),
        gmi_flash('\uf166'),
        gmi_flip('\uf167'),
        gmi_flower_alt('\uf168'),
        gmi_flower('\uf169'),
        gmi_font('\uf16a'),
        gmi_fullscreen_alt('\uf16b'),
        gmi_fullscreen_exit('\uf16c'),
        gmi_fullscreen('\uf16d'),
        gmi_functions('\uf16e'),
        gmi_gas_station('\uf16f'),
        gmi_gesture('\uf170'),
        gmi_globe_alt('\uf171'),
        gmi_globe_lock('\uf172'),
        gmi_globe('\uf173'),
        gmi_graduation_cap('\uf174'),
        gmi_home('\uf175'),
        gmi_hospital_alt('\uf176'),
        gmi_hospital('\uf177'),
        gmi_hotel('\uf178'),
        gmi_hourglass_alt('\uf179'),
        gmi_hourglass_outline('\uf17a'),
        gmi_hourglass('\uf17b'),
        gmi_http('\uf17c'),
        gmi_image_alt('\uf17d'),
        gmi_image_o('\uf17e'),
        gmi_image('\uf17f'),
        gmi_inbox('\uf180'),
        gmi_invert_colors_off('\uf181'),
        gmi_invert_colors('\uf182'),
        gmi_key('\uf183'),
        gmi_label_alt_outline('\uf184'),
        gmi_label_alt('\uf185'),
        gmi_label_heart('\uf186'),
        gmi_label('\uf187'),
        gmi_labels('\uf188'),
        gmi_lamp('\uf189'),
        gmi_landscape('\uf18a'),
        gmi_layers_off('\uf18b'),
        gmi_layers('\uf18c'),
        gmi_library('\uf18d'),
        gmi_link('\uf18e'),
        gmi_lock_open('\uf18f'),
        gmi_lock_outline('\uf190'),
        gmi_lock('\uf191'),
        gmi_mail_reply_all('\uf192'),
        gmi_mail_reply('\uf193'),
        gmi_mail_send('\uf194'),
        gmi_mall('\uf195'),
        gmi_map('\uf196'),
        gmi_menu('\uf197'),
        gmi_money_box('\uf198'),
        gmi_money_off('\uf199'),
        gmi_money('\uf19a'),
        gmi_more_vert('\uf19b'),
        gmi_more('\uf19c'),
        gmi_movie_alt('\uf19d'),
        gmi_movie('\uf19e'),
        gmi_nature_people('\uf19f'),
        gmi_nature('\uf1a0'),
        gmi_navigation('\uf1a1'),
        gmi_open_in_browser('\uf1a2'),
        gmi_open_in_new('\uf1a3'),
        gmi_palette('\uf1a4'),
        gmi_parking('\uf1a5'),
        gmi_pin_account('\uf1a6'),
        gmi_pin_assistant('\uf1a7'),
        gmi_pin_drop('\uf1a8'),
        gmi_pin_help('\uf1a9'),
        gmi_pin_off('\uf1aa'),
        gmi_pin('\uf1ab'),
        gmi_pizza('\uf1ac'),
        gmi_plaster('\uf1ad'),
        gmi_power_setting('\uf1ae'),
        gmi_power('\uf1af'),
        gmi_print('\uf1b0'),
        gmi_puzzle_piece('\uf1b1'),
        gmi_quote('\uf1b2'),
        gmi_railway('\uf1b3'),
        gmi_receipt('\uf1b4'),
        gmi_refresh_alt('\uf1b5'),
        gmi_refresh_sync_alert('\uf1b6'),
        gmi_refresh_sync_off('\uf1b7'),
        gmi_refresh_sync('\uf1b8'),
        gmi_refresh('\uf1b9'),
        gmi_roller('\uf1ba'),
        gmi_ruler('\uf1bb'),
        gmi_scissors('\uf1bc'),
        gmi_screen_rotation_lock('\uf1bd'),
        gmi_screen_rotation('\uf1be'),
        gmi_search_for('\uf1bf'),
        gmi_search_in_file('\uf1c0'),
        gmi_search_in_page('\uf1c1'),
        gmi_search_replace('\uf1c2'),
        gmi_search('\uf1c3'),
        gmi_seat('\uf1c4'),
        gmi_settings_square('\uf1c5'),
        gmi_settings('\uf1c6'),
        gmi_shield_check('\uf1c7'),
        gmi_shield_security('\uf1c8'),
        gmi_shopping_basket('\uf1c9'),
        gmi_shopping_cart_plus('\uf1ca'),
        gmi_shopping_cart('\uf1cb'),
        gmi_sign_in('\uf1cc'),
        gmi_sort_amount_asc('\uf1cd'),
        gmi_sort_amount_desc('\uf1ce'),
        gmi_sort_asc('\uf1cf'),
        gmi_sort_desc('\uf1d0'),
        gmi_spellcheck('\uf1d1'),
        gmi_storage('\uf1d2'),
        gmi_store_24('\uf1d3'),
        gmi_store('\uf1d4'),
        gmi_subway('\uf1d5'),
        gmi_sun('\uf1d6'),
        gmi_tab_unselected('\uf1d7'),
        gmi_tab('\uf1d8'),
        gmi_tag_close('\uf1d9'),
        gmi_tag_more('\uf1da'),
        gmi_tag('\uf1db'),
        gmi_thumb_down('\uf1dc'),
        gmi_thumb_up_down('\uf1dd'),
        gmi_thumb_up('\uf1de'),
        gmi_ticket_star('\uf1df'),
        gmi_toll('\uf1e0'),
        gmi_toys('\uf1e1'),
        gmi_traffic('\uf1e2'),
        gmi_translate('\uf1e3'),
        gmi_triangle_down('\uf1e4'),
        gmi_triangle_up('\uf1e5'),
        gmi_truck('\uf1e6'),
        gmi_turning_sign('\uf1e7'),
        gmi_wallpaper('\uf1e8'),
        gmi_washing_machine('\uf1e9'),
        gmi_window_maximize('\uf1ea'),
        gmi_window_minimize('\uf1eb'),
        gmi_window_restore('\uf1ec'),
        gmi_wrench('\uf1ed'),
        gmi_zoom_in('\uf1ee'),
        gmi_zoom_out('\uf1ef'),
        gmi_alert_circle_o('\uf1f0'),
        gmi_alert_circle('\uf1f1'),
        gmi_alert_octagon('\uf1f2'),
        gmi_alert_polygon('\uf1f3'),
        gmi_alert_triangle('\uf1f4'),
        gmi_help_outline('\uf1f5'),
        gmi_help('\uf1f6'),
        gmi_info_outline('\uf1f7'),
        gmi_info('\uf1f8'),
        gmi_notifications_active('\uf1f9'),
        gmi_notifications_add('\uf1fa'),
        gmi_notifications_none('\uf1fb'),
        gmi_notifications_off('\uf1fc'),
        gmi_notifications_paused('\uf1fd'),
        gmi_notifications('\uf1fe'),
        gmi_account_add('\uf1ff'),
        gmi_account_box_mail('\uf200'),
        gmi_account_box_o('\uf201'),
        gmi_account_box_phone('\uf202'),
        gmi_account_box('\uf203'),
        gmi_account_calendar('\uf204'),
        gmi_account_circle('\uf205'),
        gmi_account_o('\uf206'),
        gmi_account('\uf207'),
        gmi_accounts_add('\uf208'),
        gmi_accounts_alt('\uf209'),
        gmi_accounts_list_alt('\uf20a'),
        gmi_accounts_list('\uf20b'),
        gmi_accounts_outline('\uf20c'),
        gmi_accounts('\uf20d'),
        gmi_face('\uf20e'),
        gmi_female('\uf20f'),
        gmi_male_alt('\uf210'),
        gmi_male_female('\uf211'),
        gmi_male('\uf212'),
        gmi_mood_bad('\uf213'),
        gmi_mood('\uf214'),
        gmi_run('\uf215'),
        gmi_walk('\uf216'),
        gmi_cloud_box('\uf217'),
        gmi_cloud_circle('\uf218'),
        gmi_cloud_done('\uf219'),
        gmi_cloud_download('\uf21a'),
        gmi_cloud_off('\uf21b'),
        gmi_cloud_outline_alt('\uf21c'),
        gmi_cloud_outline('\uf21d'),
        gmi_cloud_upload('\uf21e'),
        gmi_cloud('\uf21f'),
        gmi_download('\uf220'),
        gmi_file_plus('\uf221'),
        gmi_file_text('\uf222'),
        gmi_file('\uf223'),
        gmi_folder_outline('\uf224'),
        gmi_folder_person('\uf225'),
        gmi_folder_star_alt('\uf226'),
        gmi_folder_star('\uf227'),
        gmi_folder('\uf228'),
        gmi_gif('\uf229'),
        gmi_upload('\uf22a'),
        gmi_border_all('\uf22b'),
        gmi_border_bottom('\uf22c'),
        gmi_border_clear('\uf22d'),
        gmi_border_color('\uf22e'),
        gmi_border_horizontal('\uf22f'),
        gmi_border_inner('\uf230'),
        gmi_border_left('\uf231'),
        gmi_border_outer('\uf232'),
        gmi_border_right('\uf233'),
        gmi_border_style('\uf234'),
        gmi_border_top('\uf235'),
        gmi_border_vertical('\uf236'),
        gmi_copy('\uf237'),
        gmi_crop('\uf238'),
        gmi_format_align_center('\uf239'),
        gmi_format_align_justify('\uf23a'),
        gmi_format_align_left('\uf23b'),
        gmi_format_align_right('\uf23c'),
        gmi_format_bold('\uf23d'),
        gmi_format_clear_all('\uf23e'),
        gmi_format_clear('\uf23f'),
        gmi_format_color_fill('\uf240'),
        gmi_format_color_reset('\uf241'),
        gmi_format_color_text('\uf242'),
        gmi_format_indent_decrease('\uf243'),
        gmi_format_indent_increase('\uf244'),
        gmi_format_italic('\uf245'),
        gmi_format_line_spacing('\uf246'),
        gmi_format_list_bulleted('\uf247'),
        gmi_format_list_numbered('\uf248'),
        gmi_format_ltr('\uf249'),
        gmi_format_rtl('\uf24a'),
        gmi_format_size('\uf24b'),
        gmi_format_strikethrough_s('\uf24c'),
        gmi_format_strikethrough('\uf24d'),
        gmi_format_subject('\uf24e'),
        gmi_format_underlined('\uf24f'),
        gmi_format_valign_bottom('\uf250'),
        gmi_format_valign_center('\uf251'),
        gmi_format_valign_top('\uf252'),
        gmi_redo('\uf253'),
        gmi_select_all('\uf254'),
        gmi_space_bar('\uf255'),
        gmi_text_format('\uf256'),
        gmi_transform('\uf257'),
        gmi_undo('\uf258'),
        gmi_wrap_text('\uf259'),
        gmi_comment_alert('\uf25a'),
        gmi_comment_alt_text('\uf25b'),
        gmi_comment_alt('\uf25c'),
        gmi_comment_edit('\uf25d'),
        gmi_comment_image('\uf25e'),
        gmi_comment_list('\uf25f'),
        gmi_comment_more('\uf260'),
        gmi_comment_outline('\uf261'),
        gmi_comment_text_alt('\uf262'),
        gmi_comment_text('\uf263'),
        gmi_comment_video('\uf264'),
        gmi_comment('\uf265'),
        gmi_comments('\uf266'),
        gmi_check_all('\uf267'),
        gmi_check_circle_u('\uf268'),
        gmi_check_circle('\uf269'),
        gmi_check_square('\uf26a'),
        gmi_check('\uf26b'),
        gmi_circle_o('\uf26c'),
        gmi_circle('\uf26d'),
        gmi_dot_circle_alt('\uf26e'),
        gmi_dot_circle('\uf26f'),
        gmi_minus_circle_outline('\uf270'),
        gmi_minus_circle('\uf271'),
        gmi_minus_square('\uf272'),
        gmi_minus('\uf273'),
        gmi_plus_circle_o_duplicate('\uf274'),
        gmi_plus_circle_o('\uf275'),
        gmi_plus_circle('\uf276'),
        gmi_plus_square('\uf277'),
        gmi_plus('\uf278'),
        gmi_square_o('\uf279'),
        gmi_star_circle('\uf27a'),
        gmi_star_half('\uf27b'),
        gmi_star_outline('\uf27c'),
        gmi_star('\uf27d'),
        gmi_bluetooth_connected('\uf27e'),
        gmi_bluetooth_off('\uf27f'),
        gmi_bluetooth_search('\uf280'),
        gmi_bluetooth_setting('\uf281'),
        gmi_bluetooth('\uf282'),
        gmi_camera_add('\uf283'),
        gmi_camera_alt('\uf284'),
        gmi_camera_bw('\uf285'),
        gmi_camera_front('\uf286'),
        gmi_camera_mic('\uf287'),
        gmi_camera_party_mode('\uf288'),
        gmi_camera_rear('\uf289'),
        gmi_camera_roll('\uf28a'),
        gmi_camera_switch('\uf28b'),
        gmi_camera('\uf28c'),
        gmi_card_alert('\uf28d'),
        gmi_card_off('\uf28e'),
        gmi_card_sd('\uf28f'),
        gmi_card_sim('\uf290'),
        gmi_desktop_mac('\uf291'),
        gmi_desktop_windows('\uf292'),
        gmi_device_hub('\uf293'),
        gmi_devices_off('\uf294'),
        gmi_devices('\uf295'),
        gmi_dock('\uf296'),
        gmi_floppy('\uf297'),
        gmi_gamepad('\uf298'),
        gmi_gps_dot('\uf299'),
        gmi_gps_off('\uf29a'),
        gmi_gps('\uf29b'),
        gmi_headset_mic('\uf29c'),
        gmi_headset('\uf29d'),
        gmi_input_antenna('\uf29e'),
        gmi_input_composite('\uf29f'),
        gmi_input_hdmi('\uf2a0'),
        gmi_input_power('\uf2a1'),
        gmi_input_svideo('\uf2a2'),
        gmi_keyboard_hide('\uf2a3'),
        gmi_keyboard('\uf2a4'),
        gmi_laptop_chromebook('\uf2a5'),
        gmi_laptop_mac('\uf2a6'),
        gmi_laptop('\uf2a7'),
        gmi_mic_off('\uf2a8'),
        gmi_mic_outline('\uf2a9'),
        gmi_mic_setting('\uf2aa'),
        gmi_mic('\uf2ab'),
        gmi_mouse('\uf2ac'),
        gmi_network_alert('\uf2ad'),
        gmi_network_locked('\uf2ae'),
        gmi_network_off('\uf2af'),
        gmi_network_outline('\uf2b0'),
        gmi_network_setting('\uf2b1'),
        gmi_network('\uf2b2'),
        gmi_phone_bluetooth('\uf2b3'),
        gmi_phone_end('\uf2b4'),
        gmi_phone_forwarded('\uf2b5'),
        gmi_phone_in_talk('\uf2b6'),
        gmi_phone_locked('\uf2b7'),
        gmi_phone_missed('\uf2b8'),
        gmi_phone_msg('\uf2b9'),
        gmi_phone_paused('\uf2ba'),
        gmi_phone_ring('\uf2bb'),
        gmi_phone_setting('\uf2bc'),
        gmi_phone_sip('\uf2bd'),
        gmi_phone('\uf2be'),
        gmi_portable_wifi_changes('\uf2bf'),
        gmi_portable_wifi_off('\uf2c0'),
        gmi_portable_wifi('\uf2c1'),
        gmi_radio('\uf2c2'),
        gmi_reader('\uf2c3'),
        gmi_remote_control_alt('\uf2c4'),
        gmi_remote_control('\uf2c5'),
        gmi_router('\uf2c6'),
        gmi_scanner('\uf2c7'),
        gmi_smartphone_android('\uf2c8'),
        gmi_smartphone_download('\uf2c9'),
        gmi_smartphone_erase('\uf2ca'),
        gmi_smartphone_info('\uf2cb'),
        gmi_smartphone_iphone('\uf2cc'),
        gmi_smartphone_landscape_lock('\uf2cd'),
        gmi_smartphone_landscape('\uf2ce'),
        gmi_smartphone_lock('\uf2cf'),
        gmi_smartphone_portrait_lock('\uf2d0'),
        gmi_smartphone_ring('\uf2d1'),
        gmi_smartphone_setting('\uf2d2'),
        gmi_smartphone_setup('\uf2d3'),
        gmi_smartphone('\uf2d4'),
        gmi_speaker('\uf2d5'),
        gmi_tablet_android('\uf2d6'),
        gmi_tablet_mac('\uf2d7'),
        gmi_tablet('\uf2d8'),
        gmi_tv_alt_play('\uf2d9'),
        gmi_tv_list('\uf2da'),
        gmi_tv_play('\uf2db'),
        gmi_tv('\uf2dc'),
        gmi_usb('\uf2dd'),
        gmi_videocam_off('\uf2de'),
        gmi_videocam_switch('\uf2df'),
        gmi_videocam('\uf2e0'),
        gmi_watch('\uf2e1'),
        gmi_wifi_alt_2('\uf2e2'),
        gmi_wifi_alt('\uf2e3'),
        gmi_wifi_info('\uf2e4'),
        gmi_wifi_lock('\uf2e5'),
        gmi_wifi_off('\uf2e6'),
        gmi_wifi_outline('\uf2e7'),
        gmi_wifi('\uf2e8'),
        gmi_arrow_left_bottom('\uf2e9'),
        gmi_arrow_left('\uf2ea'),
        gmi_arrow_merge('\uf2eb'),
        gmi_arrow_missed('\uf2ec'),
        gmi_arrow_right_top('\uf2ed'),
        gmi_arrow_right('\uf2ee'),
        gmi_arrow_split('\uf2ef'),
        gmi_arrows('\uf2f0'),
        gmi_caret_down_circle('\uf2f1'),
        gmi_caret_down('\uf2f2'),
        gmi_caret_left_circle('\uf2f3'),
        gmi_caret_left('\uf2f4'),
        gmi_caret_right_circle('\uf2f5'),
        gmi_caret_right('\uf2f6'),
        gmi_caret_up_circle('\uf2f7'),
        gmi_caret_up('\uf2f8'),
        gmi_chevron_down('\uf2f9'),
        gmi_chevron_left('\uf2fa'),
        gmi_chevron_right('\uf2fb'),
        gmi_chevron_up('\uf2fc'),
        gmi_forward('\uf2fd'),
        gmi_long_arrow_down('\uf2fe'),
        gmi_long_arrow_left('\uf2ff'),
        gmi_long_arrow_return('\uf300'),
        gmi_long_arrow_right('\uf301'),
        gmi_long_arrow_tab('\uf302'),
        gmi_long_arrow_up('\uf303'),
        gmi_rotate_ccw('\uf304'),
        gmi_rotate_cw('\uf305'),
        gmi_rotate_left('\uf306'),
        gmi_rotate_right('\uf307'),
        gmi_square_down('\uf308'),
        gmi_square_right('\uf309'),
        gmi_swap_alt('\uf30a'),
        gmi_swap_vertical_circle('\uf30b'),
        gmi_swap_vertical('\uf30c'),
        gmi_swap('\uf30d'),
        gmi_trending_down('\uf30e'),
        gmi_trending_flat('\uf30f'),
        gmi_trending_up('\uf310'),
        gmi_unfold_less('\uf311'),
        gmi_unfold_more('\uf312'),
        gmi_apps('\uf313'),
        gmi_grid_off('\uf314'),
        gmi_grid('\uf315'),
        gmi_view_agenda('\uf316'),
        gmi_view_array('\uf317'),
        gmi_view_carousel('\uf318'),
        gmi_view_column('\uf319'),
        gmi_view_comfy('\uf31a'),
        gmi_view_compact('\uf31b'),
        gmi_view_dashboard('\uf31c'),
        gmi_view_day('\uf31d'),
        gmi_view_headline('\uf31e'),
        gmi_view_list_alt('\uf31f'),
        gmi_view_list('\uf320'),
        gmi_view_module('\uf321'),
        gmi_view_quilt('\uf322'),
        gmi_view_stream('\uf323'),
        gmi_view_subtitles('\uf324'),
        gmi_view_toc('\uf325'),
        gmi_view_web('\uf326'),
        gmi_view_week('\uf327'),
        gmi_widgets('\uf328'),
        gmi_alarm_check('\uf329'),
        gmi_alarm_off('\uf32a'),
        gmi_alarm_plus('\uf32b'),
        gmi_alarm_snooze('\uf32c'),
        gmi_alarm('\uf32d'),
        gmi_calendar_alt('\uf32e'),
        gmi_calendar_check('\uf32f'),
        gmi_calendar_close('\uf330'),
        gmi_calendar_note('\uf331'),
        gmi_calendar('\uf332'),
        gmi_time_countdown('\uf333'),
        gmi_time_interval('\uf334'),
        gmi_time_restore_setting('\uf335'),
        gmi_time_restore('\uf336'),
        gmi_time('\uf337'),
        gmi_timer_off('\uf338'),
        gmi_timer('\uf339'),
        gmi_android_alt('\uf33a'),
        gmi_android('\uf33b'),
        gmi_apple('\uf33c'),
        gmi_behance('\uf33d'),
        gmi_codepen('\uf33e'),
        gmi_dribbble('\uf33f'),
        gmi_dropbox('\uf340'),
        gmi_evernote('\uf341'),
        gmi_facebook_box('\uf342'),
        gmi_facebook('\uf343'),
        gmi_github_box('\uf344'),
        gmi_github('\uf345'),
        gmi_google_drive('\uf346'),
        gmi_google_earth('\uf347'),
        gmi_google_glass('\uf348'),
        gmi_google_maps('\uf349'),
        gmi_google_pages('\uf34a'),
        gmi_google_play('\uf34b'),
        gmi_google_plus_box('\uf34c'),
        gmi_google_plus('\uf34d'),
        gmi_google('\uf34e'),
        gmi_instagram('\uf34f'),
        gmi_language_css3('\uf350'),
        gmi_language_html5('\uf351'),
        gmi_language_javascript('\uf352'),
        gmi_language_python_alt('\uf353'),
        gmi_language_python('\uf354'),
        gmi_lastfm('\uf355'),
        gmi_linkedin_box('\uf356'),
        gmi_paypal('\uf357'),
        gmi_pinterest_box('\uf358'),
        gmi_pocket('\uf359'),
        gmi_polymer('\uf35a'),
        gmi_share('\uf35b'),
        gmi_stackoverflow('\uf35c'),
        gmi_steam_square('\uf35d'),
        gmi_steam('\uf35e'),
        gmi_twitter_box('\uf35f'),
        gmi_twitter('\uf360'),
        gmi_vk('\uf361'),
        gmi_wikipedia('\uf362'),
        gmi_windows('\uf363'),
        gmi_aspect_ratio_alt('\uf364'),
        gmi_aspect_ratio('\uf365'),
        gmi_blur_circular('\uf366'),
        gmi_blur_linear('\uf367'),
        gmi_blur_off('\uf368'),
        gmi_blur('\uf369'),
        gmi_brightness_2('\uf36a'),
        gmi_brightness_3('\uf36b'),
        gmi_brightness_4('\uf36c'),
        gmi_brightness_5('\uf36d'),
        gmi_brightness_6('\uf36e'),
        gmi_brightness_7('\uf36f'),
        gmi_brightness_auto('\uf370'),
        gmi_brightness_setting('\uf371'),
        gmi_broken_image('\uf372'),
        gmi_center_focus_strong('\uf373'),
        gmi_center_focus_weak('\uf374'),
        gmi_compare('\uf375'),
        gmi_crop_16_9('\uf376'),
        gmi_crop_3_2('\uf377'),
        gmi_crop_5_4('\uf378'),
        gmi_crop_7_5('\uf379'),
        gmi_crop_din('\uf37a'),
        gmi_crop_free('\uf37b'),
        gmi_crop_landscape('\uf37c'),
        gmi_crop_portrait('\uf37d'),
        gmi_crop_square('\uf37e'),
        gmi_exposure_alt('\uf37f'),
        gmi_exposure('\uf380'),
        gmi_filter_b_and_w('\uf381'),
        gmi_filter_center_focus('\uf382'),
        gmi_filter_frames('\uf383'),
        gmi_filter_tilt_shift('\uf384'),
        gmi_gradient('\uf385'),
        gmi_grain('\uf386'),
        gmi_graphic_eq('\uf387'),
        gmi_hdr_off('\uf388'),
        gmi_hdr_strong('\uf389'),
        gmi_hdr_weak('\uf38a'),
        gmi_hdr('\uf38b'),
        gmi_iridescent('\uf38c'),
        gmi_leak_off('\uf38d'),
        gmi_leak('\uf38e'),
        gmi_looks('\uf38f'),
        gmi_loupe('\uf390'),
        gmi_panorama_horizontal('\uf391'),
        gmi_panorama_vertical('\uf392'),
        gmi_panorama_wide_angle('\uf393'),
        gmi_photo_size_select_large('\uf394'),
        gmi_photo_size_select_small('\uf395'),
        gmi_picture_in_picture('\uf396'),
        gmi_slideshow('\uf397'),
        gmi_texture('\uf398'),
        gmi_tonality('\uf399'),
        gmi_vignette('\uf39a'),
        gmi_wb_auto('\uf39b'),
        gmi_eject_alt('\uf39c'),
        gmi_eject('\uf39d'),
        gmi_equalizer('\uf39e'),
        gmi_fast_forward('\uf39f'),
        gmi_fast_rewind('\uf3a0'),
        gmi_forward_10('\uf3a1'),
        gmi_forward_30('\uf3a2'),
        gmi_forward_5('\uf3a3'),
        gmi_hearing('\uf3a4'),
        gmi_pause_circle_outline('\uf3a5'),
        gmi_pause_circle('\uf3a6'),
        gmi_pause('\uf3a7'),
        gmi_play_circle_outline('\uf3a8'),
        gmi_play_circle('\uf3a9'),
        gmi_play('\uf3aa'),
        gmi_playlist_audio('\uf3ab'),
        gmi_playlist_plus('\uf3ac'),
        gmi_repeat_one('\uf3ad'),
        gmi_repeat('\uf3ae'),
        gmi_replay_10('\uf3af'),
        gmi_replay_30('\uf3b0'),
        gmi_replay_5('\uf3b1'),
        gmi_replay('\uf3b2'),
        gmi_shuffle('\uf3b3'),
        gmi_skip_next('\uf3b4'),
        gmi_skip_previous('\uf3b5'),
        gmi_stop('\uf3b6'),
        gmi_surround_sound('\uf3b7'),
        gmi_tune('\uf3b8'),
        gmi_volume_down('\uf3b9'),
        gmi_volume_mute('\uf3ba'),
        gmi_volume_off('\uf3bb'),
        gmi_volume_up('\uf3bc'),
        gmi_n_1_square('\uf3bd'),
        gmi_n_2_square('\uf3be'),
        gmi_n_3_square('\uf3bf'),
        gmi_n_4_square('\uf3c0'),
        gmi_n_5_square('\uf3c1'),
        gmi_n_6_square('\uf3c2'),
        gmi_neg_1('\uf3c3'),
        gmi_neg_2('\uf3c4'),
        gmi_plus_1('\uf3c5'),
        gmi_plus_2('\uf3c6'),
        gmi_sec_10('\uf3c7'),
        gmi_sec_3('\uf3c8'),
        gmi_zero('\uf3c9'),
        gmi_airline_seat_flat_angled('\uf3ca'),
        gmi_airline_seat_flat('\uf3cb'),
        gmi_airline_seat_individual_suite('\uf3cc'),
        gmi_airline_seat_legroom_extra('\uf3cd'),
        gmi_airline_seat_legroom_normal('\uf3ce'),
        gmi_airline_seat_legroom_reduced('\uf3cf'),
        gmi_airline_seat_recline_extra('\uf3d0'),
        gmi_airline_seat_recline_normal('\uf3d1'),
        gmi_airplay('\uf3d2'),
        gmi_closed_caption('\uf3d3'),
        gmi_confirmation_number('\uf3d4'),
        gmi_developer_board('\uf3d5'),
        gmi_disc_full('\uf3d6'),
        gmi_explicit('\uf3d7'),
        gmi_flight_land('\uf3d8'),
        gmi_flight_takeoff('\uf3d9'),
        gmi_flip_to_back('\uf3da'),
        gmi_flip_to_front('\uf3db'),
        gmi_group_work('\uf3dc'),
        gmi_hd('\uf3dd'),
        gmi_hq('\uf3de'),
        gmi_markunread_mailbox('\uf3df'),
        gmi_memory('\uf3e0'),
        gmi_nfc('\uf3e1'),
        gmi_play_for_work('\uf3e2'),
        gmi_power_input('\uf3e3'),
        gmi_present_to_all('\uf3e4'),
        gmi_satellite('\uf3e5'),
        gmi_tap_and_play('\uf3e6'),
        gmi_vibration('\uf3e7'),
        gmi_voicemail('\uf3e8'),
        gmi_group('\uf3e9'),
        gmi_rss('\uf3ea'),
        gmi_shape('\uf3eb'),
        gmi_spinner('\uf3ec'),
        gmi_ungroup('\uf3ed'),
        gmi_500px('\uf3ee'),
        gmi_8tracks('\uf3ef'),
        gmi_amazon('\uf3f0'),
        gmi_blogger('\uf3f1'),
        gmi_delicious('\uf3f2'),
        gmi_disqus('\uf3f3'),
        gmi_flattr('\uf3f4'),
        gmi_flickr('\uf3f5'),
        gmi_github_alt('\uf3f6'),
        gmi_google_old('\uf3f7'),
        gmi_linkedin('\uf3f8'),
        gmi_odnoklassniki('\uf3f9'),
        gmi_outlook('\uf3fa'),
        gmi_paypal_alt('\uf3fb'),
        gmi_pinterest('\uf3fc'),
        gmi_playstation('\uf3fd'),
        gmi_reddit('\uf3fe'),
        gmi_skype('\uf3ff'),
        gmi_slideshare('\uf400'),
        gmi_soundcloud('\uf401'),
        gmi_tumblr('\uf402'),
        gmi_twitch('\uf403'),
        gmi_vimeo('\uf404'),
        gmi_whatsapp('\uf405'),
        gmi_xbox('\uf406'),
        gmi_yahoo('\uf407'),
        gmi_youtube_play('\uf408'),
        gmi_youtube('\uf409'),
        gmi_import_export('\uf30c'),
        gmi_swap_vertical_('\uf30c'),
        gmi_airplanemode_inactive('\uf102'),
        gmi_airplanemode_active('\uf103'),
        gmi_rate_review('\uf103'),
        gmi_comment_sign('\uf25a'),
        gmi_network_warning('\uf2ad'),
        gmi_shopping_cart_add('\uf1ca'),
        gmi_file_add('\uf221'),
        gmi_network_wifi_scan('\uf2e4'),
        gmi_collection_add('\uf14e'),
        gmi_format_playlist_add('\uf3ac'),
        gmi_format_queue_music('\uf3ab'),
        gmi_plus_box('\uf277'),
        gmi_tag_backspace('\uf1d9'),
        gmi_alarm_add('\uf32b'),
        gmi_battery_charging('\uf114'),
        gmi_daydream_setting('\uf217'),
        gmi_more_horiz('\uf19c'),
        gmi_book_photo('\uf11b'),
        gmi_incandescent('\uf189'),
        gmi_wb_iridescent('\uf38c'),
        gmi_calendar_remove('\uf330'),
        gmi_refresh_sync_disabled('\uf1b7'),
        gmi_refresh_sync_problem('\uf1b6'),
        gmi_crop_original('\uf17e'),
        gmi_power_off('\uf1af'),
        gmi_power_off_setting('\uf1ae'),
        gmi_leak_remove('\uf38d'),
        gmi_star_border('\uf27c'),
        gmi_brightness_low('\uf36d'),
        gmi_brightness_medium('\uf36e'),
        gmi_brightness_high('\uf36f'),
        gmi_smartphone_portrait('\uf2d4'),
        gmi_live_tv('\uf2d9'),
        gmi_format_textdirection_l_to_r('\uf249'),
        gmi_format_textdirection_r_to_l('\uf24a'),
        gmi_arrow_back('\uf2ea'),
        gmi_arrow_forward('\uf2ee'),
        gmi_arrow_in('\uf2e9'),
        gmi_arrow_out('\uf2ed'),
        gmi_rotate_90_degrees_ccw('\uf304'),
        gmi_adb('\uf33a'),
        gmi_network_wifi('\uf2e8'),
        gmi_network_wifi_alt('\uf2e3'),
        gmi_network_wifi_lock('\uf2e5'),
        gmi_network_wifi_off('\uf2e6'),
        gmi_network_wifi_outline('\uf2e7'),
        gmi_network_wifi_info('\uf2e4'),
        gmi_layers_clear('\uf18b'),
        gmi_colorize('\uf15d'),
        gmi_format_paint('\uf1ba'),
        gmi_format_quote('\uf1b2'),
        gmi_camera_monochrome_photos('\uf285'),
        gmi_sort_by_alpha('\uf1cf'),
        gmi_folder_shared('\uf225'),
        gmi_folder_special('\uf226'),
        gmi_comment_dots('\uf260'),
        gmi_reorder('\uf31e'),
        gmi_dehaze('\uf197'),
        gmi_sort('\uf1ce'),
        gmi_pages('\uf34a'),
        gmi_stack_overflow('\uf35c'),
        gmi_calendar_account('\uf204'),
        gmi_paste('\uf109'),
        gmi_cut('\uf1bc'),
        gmi_save('\uf297'),
        gmi_smartphone_code('\uf139'),
        gmi_directions_bike('\uf117'),
        gmi_directions_boat('\uf11a'),
        gmi_directions_bus('\uf121'),
        gmi_directions_car('\uf125'),
        gmi_directions_railway('\uf1b3'),
        gmi_directions_run('\uf215'),
        gmi_directions_subway('\uf1d5'),
        gmi_directions_walk('\uf216'),
        gmi_local_hotel('\uf178'),
        gmi_local_activity('\uf1df'),
        gmi_local_play('\uf1df'),
        gmi_local_airport('\uf103'),
        gmi_local_atm('\uf198'),
        gmi_local_bar('\uf137'),
        gmi_local_cafe('\uf13b'),
        gmi_local_car_wash('\uf124'),
        gmi_local_convenience_store('\uf1d3'),
        gmi_local_dining('\uf153'),
        gmi_local_drink('\uf157'),
        gmi_local_florist('\uf168'),
        gmi_local_gas_station('\uf16f'),
        gmi_local_grocery_store('\uf1cb'),
        gmi_local_hospital('\uf177'),
        gmi_local_laundry_service('\uf1e9'),
        gmi_local_library('\uf18d'),
        gmi_local_mall('\uf195'),
        gmi_local_movies('\uf19d'),
        gmi_local_offer('\uf187'),
        gmi_local_parking('\uf1a5'),
        gmi_local_pharmacy('\uf176'),
        gmi_local_phone('\uf2be'),
        gmi_local_pizza('\uf1ac'),
        gmi_local_post_office('\uf15a'),
        gmi_local_printshop('\uf1b0'),
        gmi_local_see('\uf28c'),
        gmi_local_shipping('\uf1e6'),
        gmi_local_store('\uf1d4'),
        gmi_local_taxi('\uf123'),
        gmi_local_wc('\uf211'),
        gmi_my_location('\uf299'),
        gmi_directions('\uf1e7');

        override val typeface: ITypeface by lazy { MaterialDesignIconic }
    }
}
